<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div>
  <table border="1">
    <caption>商品列表</caption>
    <tr><th>id</th><th>标题</th><th>价格</th><th>库存</th><th>操作</th></tr>
    <tr v-for="p in arr">
      <td>{{p.id}}</td>
      <td>{{p.title}}</td>
      <td>{{p.price}}</td>
      <td>{{p.num}}</td>
      <!--javascript:void(0) 废掉超链接的跳转功能-->
      <td>
        <!--属性里面出现变量 必须使用属性绑定,也就是在属性前面加:
        加完:后 属性的值就变成JavaScript代码了
        -->
        <a :href="'/update.html?id='+p.id">修改</a>
        <a href="javascript:void(0)" @click="del(p.id)">删除</a>
      </td>
    </tr>
  </table>
</div>

<script src="https://cdn.bootcdn.net/ajax/libs/axios/0.21.1/axios.min.js"></script>
<script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
<script>
   let v = new Vue({
     el:"body>div",
     data:{
        arr:[]
     },
     methods: {
      del(id){
        if (confirm("您确认删除此商品吗?")){
          axios.get("/delete?id="+id).then(function (response) {
            alert("删除完成!");
            location.reload();//刷新页面
          })
        }
      }
     },
     created:function () {
        //此方法是Vue对象的一个生命周期方法,创建Vue对象时此方法会自动调用,通常把刚刚进入页面需要做的
       //事情写在此方法中
       //发出异步请求获取数据
       axios.get("/select").then(function (response) {
         //服务器响应的数据为装着多个商品信息的数组
         v.arr = response.data;
       })
     }
   })
</script>
</body>
</html>